home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
cpp_libs
/
newmat03.lha
/
newmat03
/
newmat9.cxx
< prev
next >
Wrap
C/C++ Source or Header
|
1993-08-08
|
946b
|
41 lines
//$$ newmat9.cxx Input and output
// Copyright (C) 1991: R B Davies and DSIR
#define WANT_STREAM
#include "include.hxx"
#include "newmat.hxx"
#include "newmatrc.hxx"
#include "newmatio.hxx"
//#define REPORT { static ExeCounter ExeCount(__LINE__,9); ExeCount++; }
#define REPORT {}
ostream& operator<<(ostream& s, BaseMatrix& X)
{
GeneralMatrix* gm = X.Evaluate(); operator<<(s, *gm);
gm->tDelete(); return s;
}
ostream& operator<<(ostream& s, const GeneralMatrix& X)
{
int w = s.width(); int nr = X.Nrows(); long f = s.flags();
s.setf(ios::fixed, ios::floatfield);
MatrixRow mr((GeneralMatrix*)&X, LoadOnEntry);
for (int i=1; i<=nr; i++)
{
int skip = mr.skip; int storage = mr.storage;
real* store = mr.store+skip; skip *= w+1;
while (skip--) s << " ";
while (storage--) s << setw(w) << *store++ << " ";
mr.Next(); s << "\n";
}
s << flush; s.flags(f); return s;
}